package foundation;

public class java2_18 {
    public static void main(String[] args) //main+tab
    {
        //1初识Java
//        System.out.println("你好，世界");//sout+tab
//        char c = '秉';//只有一些生僻字无法使用
//        int a = 10;
//        double b = 3.1415926;
//        long d = 100_0000_0000L;//用下划线便于看出数值大小(打印时没有),数据后面加上L表明是long型
//        System.out.println(a);
//        System.out.println(b);
//        System.out.println(d);
//        System.out.println(c);
//        int a = 10;//尽量创建变量时就设定初始值
//        System.out.println(a);
//        a = 100;
//        System.out.println(a);
//        System.out.println(Integer.MIN_VALUE);//Integer是java中的类
//        System.out.println(Integer.MAX_VALUE);//超出最大值或最小值,会出现溢出情况

        //2.数据类型和变量
//        //有关浮点型的特殊问题
//        double a = 1;//只有一个是double也可以
//        double b = 2;
//        System.out.println(a/b);
//        double a = 1.1;
//        System.out.println(a*a);//会有一点点误差
//        boolean a = true;
//        boolean b = false;//与C语言的不一样,并不是0假,非0真
//        int a = 10;
//        long b = 100L;
//        a = b;//不同类型数据转化时,低可以转高,高不能转低,java中不推荐使用类型转换
//        b = a;
//        byte a = 10;
//        byte b = 20;
////        byte c = a + b;//这里byte和short都会报错,主要是因为它们本身的范围太小了,很容易溢出
//        int c = a + b;
//       byte d = (byte)(a + b);
//        System.out.println(c);
//        System.out.println(d);//避免报错的两种写法,一般写代码会尽量避免类型提升和类型转换
//        String s = "hello";//C中的字符串是char数组,以\0结尾,Java则完全没有这样的关联关系
//        System.out.println(s);
//        System.out.println(s.length());//变量.方法名
        //把int转为String
        //1.直接使用+把int和""进行+运算,得到的结果仍然是字符串
//        String s = 10 + "";
//        System.out.println(s);

        //2.使用valueOf的写法,也适用于long,double,short等其他数字类型
//        String s = "10";
//        int a = Integer.parseInt(s);
//        double b = Double.parseDouble(s);
//        long c = Long.parseLong(s);
//        System.out.println(a);
//        System.out.println(b);
//        System.out.println(c);
//        int a = 10;
//        double b = 0;
//        System.out.println(a%b);
        //求余或求模分母写double0,会出现无穷大,Java可以对小数求余,但一般不用(不精确)
//        System.out.println(10 == 10);//关系运算符的结果为boolean类型,不是数字,而是true,false
//        System.out.println(3 >= 5);
//        boolean a = true;
//        boolean b =false;
//        System.out.println(a&&b);//与和或也是这样的道理
//        System.out.println(a||b);//&&左侧不成立,右面就不用判断了
//        System.out.println(!a);//||左侧成立,右面就不用判断了

    }
}
